package cn.iocoder.yudao.module.sys.dal.dataobject.instrumentoperationlog;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯） DO
 *
 * @author 芋道源码
 */
@TableName("sys_instrument_operation_log")
@KeySequence("sys_instrument_operation_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InstrumentOperationLogDO extends BaseDO {

    /**
     * 记录唯一ID
     */
    @TableId
    private Long id;
    /**
     * 仪器设备ID（逻辑外键，关联sys_instrument.id）
     */
    private Long instrumentId;
    /**
     * 操作类型（1-新增，2-修改，3-删除，4-出库，5-入库）
     */
    private Integer operationType;
    /**
     * 操作人ID（逻辑外键，关联sys_user.id）
     */
    private Long operatorId;
    /**
     * 操作人姓名（冗余sys_user.nickname，避免联查）
     */
    private String operatorName;
    /**
     * 操作时间
     */
    private LocalDateTime operationTime;
    /**
     * 操作备注（如“2025-11-04 出库用于压力测试”）
     */
    private String remark;


}